home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / zpont311.lha / zpoint-3.11 / Rexx / Weiterleiten.zprx < prev    next >
Text File  |  1995-08-28  |  4KB  |  146 lines

  1. /* $VER: Weiterleiten.zprx 1.0# (29.04.1995), R95 Jean-Marie de Crozals
  2.  
  3.   COPYRIGHT
  4.    Dieses  ARexx-Skript  ist  FD.  -nderungen  sind  nur  im   Rahmen   der
  5.    Konfiguration  dieses  Skriptes  oder  der  Anpassung  an neue "Zodiac's
  6.    Point"-Versionen zulSssig. Die kommerzielle  Verwendung  ist  untersagt.
  7.    Ausnahme  ist  die Hinzufngung zu dem Programmpaket "Zodiac's Point" von
  8.    Ralph Seichter.
  9.  
  10.   INSTALLATION
  11.    Man kann dieses Script wie folgt auf eine F-Taste legen...
  12.    F1:SYS:RexxC/Rx ZPOINT:Rexx/Weiterleiten.zprx %s
  13.  
  14.    WICHTIG: Diese Skript benötigt UNBEDINGT folgende Library:
  15.  
  16.    - rexxtricks.library
  17.  
  18.   BESCHREIBUNG
  19.    Dieses Script leitet die markierten Nachrichten in beliebige Bretter
  20.    (au#er Spool-Brett) weiter... Die markierten Nachrichten werden
  21.    in diesem Brett gelöscht...
  22. */
  23.  
  24. /*
  25.   folgende VerSnderungen wurden von mir, Nils Görs, durchgefnhrt.
  26.   A das Weiterleiten in das Nachrichtenarchiv.
  27.   A die Anpassung an die rexxtricks.library V38.2.
  28.   A bessere und schnellere Mehode zum weiterleiten.
  29.   A Nachrichten können zum löschen bzw. zum reorganisieren markiert
  30.     werden.
  31. */
  32.  
  33. NL = '0a'x
  34.  
  35. OPTIONS RESULTS
  36.  
  37. /* ------ von welchem ZP Port wurde das Script aufgerufen ? ------ */
  38. PARSE ARG zpPort
  39. IF zpPort == "" THEN
  40.    zpPort = "ZPoint"
  41. ADDRESS VALUE zpPort
  42.  
  43. if (~show('LIBRARIES', 'rexxreqtools.library')) then
  44.  if (~addlib('rexxreqtools.library', 0, -30, 0)) then
  45.   do
  46.    REQUESTNOTIFY 'Kann rexxreqtools.library nicht öffnen!'
  47.    exit
  48.  end
  49.  
  50. if (~show('LIBRARIES', 'rexxtricks.library')) then
  51.  if (~addlib('rexxtricks.library', 0, -30, 0)) then
  52.   do
  53.    REQUESTNOTIFY 'Kann rexxtricks.library nicht öffnen!'
  54.    exit
  55.  end
  56.  
  57. WHICHLEVEL
  58. if (result ~= 'BOARD') then
  59.  do
  60.   REQUESTNOTIFY 'Du mu#t schon in ein Brett gehen!!!'
  61.   exit
  62.  end
  63.  
  64. COUNT LISTED
  65. IF RESULT == 0 THEN DO
  66.  REQUESTNOTIFY "Es wurde keine markierte"NL,
  67.                "Nachricht gefunden!"; EXIT; END
  68.  
  69. HOMEPATH
  70. BrettListe = result
  71. BrettListe = BrettListe'/boardlist.zp'
  72.  
  73. if (~open('Bretter',BrettListe,'R')) then
  74.  do
  75.   REQUESTNOTIFY 'Kann Brettliste nicht laden!'
  76.   exit
  77.  end
  78.  
  79. i=1
  80. liste.i = 'Nachrichtenarchiv'
  81. i=i+1
  82. do forever
  83.  Zeile = readln('Bretter')
  84.  if Zeile='' then leave
  85.  if left(Zeile,2)='B:' then
  86.   do
  87.    Laenge = length(Zeile)-2
  88.    Zeile = right(Zeile,Laenge)
  89.    liste.i = Zeile
  90.    i = i+1
  91.   end
  92. end
  93.  
  94. liste.0 = i-1
  95.  
  96. fenster.title      = 'Zielbrett wShlen...'
  97. fenster.pubscreen  = zpPort
  98. fenster.gadgettext = '_Weiterleiten|_Abbruch'
  99. fenster.width      = 600
  100. fenster.font       = 'SCREEN'
  101. fenster.sort       = 'FALSE'
  102.  
  103. if (~VIEWLIST('liste','fenster','destvar')) then
  104.   exit
  105.  
  106. CALL rtezrequest("Was soll mit den Nachrichten passieren?",,
  107.                  "nicht löschen|zum löschen markieren|zum reorganisieren markieren",,
  108.                  "Weiterleiten","rt_pubscrname="zpPort)
  109. WhatToDo = RESULT
  110.  
  111. CALL TIME('Reset')
  112. Messages = 0
  113. more= 1
  114. j = 1
  115.  BrettName = destvar.j
  116.  JUMPTOMESSAGE 1
  117.   MESSAGEINFO LISTED
  118.   IF Result == 1 THEN CALL _Weiterleiten
  119.  
  120. DO WHILE more
  121.   JUMPTOMESSAGE LISTED
  122.   more = (RC)
  123.  IF more == 1 THEN CALL _Weiterleiten
  124. END
  125.  
  126. STime = TIME('Elapsed')
  127. Messages = Messages/destvar.0
  128. REQUESTNOTIFY "Es wurden" Messages "Nachrichten in" destvar.0 "Bretter weitergeleitet!"
  129. REQUESTNOTIFY "Die ganze Transaktion hat" STime "sek. gedauert!"
  130. EXIT
  131.  
  132. _Weiterleiten: /* Nachricht in die Bretter weiterleiten */
  133. DO j = 1 to destvar.0
  134.  BrettName = destvar.j
  135.  FORWARDMESSAGE '"'BrettName'" INTERNAL'
  136.  Messages = Messages + 1
  137. END
  138.  SELECT        /* Was soll danach mit den Nachrichten passieren? */
  139.    WHEN WhatToDo == 1 THEN NOP
  140.    WHEN WhatToDo == 2 THEN DELETE ONE
  141.    WHEN WhatToDo == 0 THEN DELETE LATER ONE
  142.  OTHERWISE
  143.  END
  144.  
  145. RETURN
  146.